package com.sira.textrankresume;

import java.util.Collection;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;

public class Filtro implements IFiltro{
	SortedSet<String> listaPalabras;
	
	public Filtro(List<String> listaPalabras)
	{
		this.listaPalabras = new TreeSet<String>(listaPalabras);
	}
	@Override
	public boolean tenerEnCuenta(String palabra) {
		
		for (String palabraANoTenerEnCuenta : listaPalabras) {
			if (palabraANoTenerEnCuenta.equalsIgnoreCase(palabra))
			{	
				return false;
			}else
			{
				if (palabra.compareTo(palabraANoTenerEnCuenta) > 0)//Si ya nos hemos pasado de la palabra.
				{
					return true;
				}
			}
		}
		
		return true;
	}
	
	public boolean addPalabra(String palabra)
	{
		return listaPalabras.add(palabra);
	}
	@Override
	public Collection<String> getPalabrasANoTenerEnCuenta() {
		return listaPalabras;
	}
	@Override
	public boolean removePalabra(String palabra) {
		return listaPalabras.remove(palabra);
	}

}
